package reflect;

/**
 * 通用的路径获取方式用在读取配置文件
 */

import java.io.*;
import java.util.Properties;
import java.util.ResourceBundle;

public class AboutPathRf {
    public static void main(String[] args) throws IOException {

//        String path = Thread.currentThread().getContextClassLoader()
//                .getResource("reflect/classinfo.properties").getPath();
//        FileReader reader = new FileReader(path);
//        Properties properties = new Properties();
//        properties.load(reader);
//        reader.close();


        /**
         * ///////////另一更先进的 直接以流的形式读取路径///////////////////////////////////
         */
        InputStream reader1 = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("reflect/classinfo.properties");
        Properties pro = new Properties();
        pro.load(reader1);

        //get value by key
        String classname = pro.getProperty("className");
        System.out.println(classname);


        /**
         *更厉害的 针对于读属性配置文件的
         * 跟通用方式一样，路径是从类路径开始的
         * 必须是property文件的
         * 借助java.util包下的资源绑定器ResourceBundle
         */
        ResourceBundle bundle = ResourceBundle.getBundle("classinfo2");//参数里把后缀名改掉
        String classname1 = bundle.getString("className");
        System.out.println(classname1);



    }
}
